package hjw.com.service;

import hjw.com.entity.Book;

import java.util.List;
import java.util.Map;

/**
 * <p>Project:Academic - BookService
 *
 * @author IvanWei玮 -- maste
 * @version 1.0
 * @DataTime 2025/1/20 17:20
 * @since 1.8
 */
public interface BookService {
    /**
     * 获取商品信息
     * @param id
     * @return Book
     */
    Book findById(String id);
    /**
     * 动态查询获取商品信息：书籍id、书籍名称、书籍出版社、书籍作者、商品序号、书籍类型
     * @param map Map
     * @return Book
     */
    List<Book> findByParams(Map<String, Object> map);
    /**
     * 根据类型获取总数量
     * @param map map
     * @return List<Book>
     */
    int findByTypeCount(Map<String, Object> map);
    /**
     * 获取全体商品信息
     * @return List<Book>
     */
    List<Book> findAll();

    /**
     * 根据分页获取商品信息
     * @param map String,Object
     * @return List<Book>
     */
    List<Book> findByPage(Map<String, Object> map);
    /**
     * 根据销量获取商品信息
     * @return List<Book>
     */
    List<Book> findBySalenum();

    /**
     * 获取最新上架的商品信息
     * @return Book
     */
    List<Book> findByNews();

    /**
     * 根据关键字获取商品信息
     * @param map String,Object
     * @return List<Book>
     */
    List<Book> findPageByKey(Map<String, Object> map);

    /**
     * 修改图书商品信息
     * @param map map
     * @return int
     */
    int update(Map<String, Object> map);

    /**
     * 增加图书商品信息
     * @param map map
     * @return int
     */
    int add(Map<String, Object> map);

    /**
     * 删除图书商品信息
     * @param id id
     * @return int
     */
    int delete(Integer id);
}
